GtkTreeView: Use gdk_seat_grab()
authorCarlos Garnacho <carlosg@gnome.org>
Thu, 26 Nov 2015 18:56:41 +0000 (19:56 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Mon, 14 Dec 2015 23:32:56 +0000 (00:32 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=759309

gtk/gtktreeview.c

index c14a4fbe41d3d25da4389160be1b36bf76a3ebe8..0f0bed65fce6b92afd8c899598cdc955a382778e 100644 (file)
@@ -3586,9 +3586,11 @@ gtk_tree_view_column_drag_gesture_end (GtkGestureDrag *gesture,
 
   if (tree_view->priv->in_column_drag)
     {
+      GdkDevice *device;
+
       gtk_tree_view_button_release_drag_column (tree_view);
-      gdk_device_ungrab (gtk_gesture_get_device (GTK_GESTURE (gesture)),
-                         GDK_CURRENT_TIME);
+      device = gtk_gesture_get_device (GTK_GESTURE (gesture));
+      gdk_seat_ungrab (gdk_device_get_seat (device));
     }
   else if (tree_view->priv->in_column_resize)
     gtk_tree_view_button_release_column_resize (tree_view);
@@ -10014,15 +10016,10 @@ _gtk_tree_view_column_start_drag (GtkTreeView       *tree_view,
   /* Widget reparenting above unmaps and indirectly breaks
    * the implicit grab, replace it with an active one.
    */
-  gdk_device_grab (device,
-                   tree_view->priv->drag_window,
-                   GDK_OWNERSHIP_NONE,
-                   FALSE,
-                   GDK_TOUCH_MASK |
-                   GDK_POINTER_MOTION_MASK |
-                   GDK_BUTTON_RELEASE_MASK,
-                   NULL,
-                   GDK_CURRENT_TIME);
+  gdk_seat_grab (gdk_device_get_seat (device),
+                 tree_view->priv->drag_window,
+                 GDK_SEAT_CAPABILITY_ALL, FALSE,
+                 NULL, NULL, NULL, NULL);
 
   gtk_gesture_set_state (tree_view->priv->column_drag_gesture,
                          GTK_EVENT_SEQUENCE_CLAIMED);